package main

import (
	"errors"
	"fmt"
)

/*
程序开发时函数的可能会出错，在其他语言中使用try catch等语句包住函数执行，但是在Go语言是通过函数返回的error类型的返回值是否为nil来判断
所有在Go语言中经常出现if err != nill{}的判断语句，这样做的原因是设计者认为错误需要被处理，这种也被称为防御性编程
在开发过程中我们知道某些情况会出异常就需要加上error的返回值，比如字符串转int
Go语音中错误处理有返回error类型返回值，recvoer、panic 三种
*/

func testError(a, b int) (int, error) {
	c := a + b
	return c, errors.New("this is an error") //有些我们需要使用errors来返回异常的内容，有的会只带默认内容
}

func main() {
	//判断函数是否执行成功，当我们不想出来异常的时候也可以用匿名变量_来接收
	if _, err := testError(1, 2); err != nil {
		fmt.Println(err)
	}
}
